package com.java123.t2;

public class Student {
	/**
	 * 静态变量
	 */
	public static int num = 0;

	/**
	 * 静态代码块 如果num没有被加载，那么这个时候，静态代码块会无法调用num
	 */
	static {
		System.out.println("静态代码块执行了。" + "当前num为：" + num);
		num++;
	}

	/**
	 * 静态方法（录入学籍）
	 */
	public static void addToSchool() {
		System.out.println("静态方法执行了。" + "当前num为：" + num);
		num++;
	}

	/**
	 * 一般变量
	 */
	public String name;

	/**
	 * 一般代码块
	 */
	{
		addToSchool();
		System.out.println("一般代码块执行了。" + "当前num为：" + num);
		num++;
	}

	/**
	 * 无参构造函数
	 */
	public Student() {
		System.out.println("调用了无参构造函数。" + "当前num为：" + num);
		num++;
	}

	/**
	 * 有参构造函数（构造函数重构）
	 */
	public Student(String name) {
		System.out.println("调用了无参构造函数。" + "当前num为：" + num);
		/**
		 * this代表当前类，如不指定，就近原则。
		 */
		this.name = name;
		num++;
	}

	/**
	 * 一般方法
	 */
	public void gotoShcool() {
		System.out.println("调用一般方法。" + "当前num为：" + num);
		num++;
	}

}
